package com.whalefin.persistence;

import com.whalefin.domain.LeaveMessage;

import java.util.List;

/**
 * 用户相关 Table =  LeaveMessage
 *
 * @author sf
 */
public interface LeaveMessageMapper {

    /**
     * 添加留言
     * @param leaveMessage
     * @return
     */
    public int addLeaveMsg(LeaveMessage leaveMessage);

    /**
     * 根据用户id查询留言(2公里以内)
     * @param userId
     * @return
     */
    public List<LeaveMessage> queryLeaveMsgByUserId(Integer userId, String createTime, String createtime);

    /**
     * 我的发布，查询我发布的留言
     * @param userId
     * @return
     */
    public List<LeaveMessage> queryLeaveMsgById(Integer userId);

    /**
     * 根据用户id查询留言总数(2公里以内)
     * @param userId
     * @return
     */
    public int leaveMsgTotalCount(Integer userId);

    /**
     * 通过学校编号查询所有留言
     * @return
     */
    public List<LeaveMessage> queryLeaveMsg(String schoolNum);

    /**
     * 查询所有留言
     * @return
     */
    public List<LeaveMessage> queryAllLeaveMsg();

    /**
     * 查询所有留言分页
     * @param schoolNum
     * @param startIndex
     * @param pageSize
     * @return
     */
    public List<LeaveMessage> queryLeaveMsgByPage(String schoolNum,Integer startIndex,Integer pageSize);

    /**
     * 根据留言id查询该条留言详情
     * @param leaveMessageId
     * @return
     */
    public LeaveMessage queryLeaveMsgByLeaveMessageId(Integer leaveMessageId);

    /**
     * 用户阅读留言，记录用户id，计算阅读数
     * @param leaveMessageId
     * @param totaluserId
     * @return
     */
    public int updateTotalUserId(Integer leaveMessageId, Integer totaluserId);

    /**
     * 留言信息分页，总数
     * @param schoolNum
     * @return
     */
    public int totalMsgCount(String schoolNum);


    /**
     * 以下是后台使用方法
     */

    public int totalCount();//查询留言总数

    public List<LeaveMessage> queryAllMsg(Integer indexPage, Integer pageSize);//分页查询所有留言

    public int totalCountByCondition(LeaveMessage leaveMessage);//根据条件查询总数

    public List<LeaveMessage> queryAllMsgByCondition(LeaveMessage leaveMessage);//根据条件查询 留言

    public int updateStatus(Integer id, String status);//更新显示状态

}
